今天要來介紹如何從 NiFi 將 FlowFiles 送到 SNS 和 SQS,一樣就有原生的 Processor 就可做操作了,所以也不會到非常複雜。
一樣在操作前,仍先來簡單介紹一下這兩個服務,若有不熟悉的讀者可看一下我如下整理好的表格:
AWS SNS | AWS SQS | |
---|---|---|
Persistence | No | Yes, 預設保留 14 天 |
Direction | Push-Based。Consumer 必須持續監聽,若 Consumer 服務中斷則會導致資料 loss | Pull-Based。Consumer 若服務中斷且重新啟動時,仍可取得原本尚未處理的資料 |
我們都能想像成兩個服務都是類似一個 Queue 的概念,只是其中 SNS 中間並不會保留資料與訊息,所以若接受的服務壞掉了,則資料或訊息就會不見了; 反之,SQS 很明確就是一個 Queue,會保留資料14天,若 Consumer 服務壞掉時,後續啟動仍可以取得近期14天內的資料。
在 Nifi 這邊有三種關於 SQS 的 Processor,分別是 GetSQS
、PutSQS
、DeleteSQS
,這些的設定都差不多,所以我們可看到如下要注意的設定:
NiFi 對於 SNS 的 Processor 目前只有 PutSNS
可以做使用,來讓我們可以將 FlowFile 傳送到 SNS 對應的 topic 下:
如上述設定完之後,就可以輕鬆與 SNS 和 SQS 做整合了。
今天這篇的篇幅相對比較簡單,一方面是目前 NiFi 所支援的 Processor 就前面所列出這些,而大致上的設定都與前面的 AWS 服務相同,只有一兩個參數要特別留意。
所以讀者們應該會發現,只要我建立好 AWS Controller Service 之後,剩下的都是個別服務的調整,甚至有些可以在 AWS Console 貼過來即可,或是設定成 Parameters 也可以。所以整體在對 AWS 服務的操作都十分簡單,接下來就會帶讀者們操作 GCP 的服務了。